<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="utf-8" />
        <title>chapter4</title>
        <link rel="stylesheet" href="/theme/css/main.css" />

        <!--[if IE]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
</head>

<body id="index" class="home">
        <header id="banner" class="body">
                <h1><a href="/">PythonTutorials </a></h1>
                <nav><ul>
                    <li class="active"><a href="/category/cpp.html">cpp</a></li>
                    <li><a href="/category/python.html">python</a></li>
                </ul>
                </nav>
        </header><!-- /#banner -->
<section id="content" class="body">
  <article>
    <header>
      <h1 class="entry-title">
        <a href="/c-chapter4.html" rel="bookmark"
           title="Permalink to chapter4">chapter4</a></h1>
    </header>

    <div class="entry-content">
<footer class="post-info">
        <span>Mon 06 April 2020</span>
<span>| tags: <a href="/tag/cpp.html">cpp</a><a href="/tag/progarmming.html">progarmming</a></span>
</footer><!-- /.post-info -->      <p>n()开始，自上而下，有些执行，有些不执行.
* 两类表达式（关系表达式和逻辑表达式）
* <strong>(1)关系运算符及关系表达式</strong>
    * 数量：(&lt;= &lt;  &gt;=  &gt; ) != ==
    * 功能：结果是逻辑值（0或者1）
    * 优先级：前4个6级，后2个7级
    * 结合性：从左向右
* <strong>(2)逻辑运算符及逻辑表达式</strong>
    * 数量： ||(l逻辑或) &amp;&amp;(逻辑与) !(逻辑非)(单目)
    * 功能：结果只有0或1
    * 优先级：逻辑非2级，逻辑与11级，逻辑或12级
    * 结合性：从右向左</p>
<ul>
<li><strong>(3)表达式求值的步骤</strong><ul>
<li>合法性</li>
<li>有无短路</li>
<li>优先级</li>
<li>结合性</li>
</ul>
</li>
</ul>
<h3>if语句（三种格式）&lt;开关语句&gt;</h3>
<p>格式1：(就近控制)，整个算一条语句</p>
<div class="highlight"><pre><span></span>```
if(表达式)
    语句序列1；
后续语句
```
</pre></div>


<p>格式2（if...else），else和if必须配对，整个算一条语句
    * if控制一条就近语句（复合语句{}），else也控制一条就近语句。</p>
<div class="highlight"><pre><span></span>```
if(表达式)
    语句序列1；
else
    语句序列2；
```
</pre></div>


<p>格式化3（if... else if... else...）整个算一条语句</p>
<div class="highlight"><pre><span></span>//下面的三条语句只会执行一条。
```
if(表达式1)
    if(表达式2)
        语句序列11；
    else
        语句序列12；
else
    语句序列2； 
```
</pre></div>


<ul>
<li><strong>解题方法</strong><ul>
<li>找配对（else if要配对）</li>
<li>找控制（控制语句)</li>
<li></li>
</ul>
</li>
</ul>
<h5>==C语言中优先级为1级和2级为单目运算符（结合性永远从右向左），3-12级为双目运算符（结合性永远从左向右）==</h5>
<h5>==C语言中两类短路现象，逻辑与中的0短路，逻辑或中的1短路==</h5>
<h2>在短路情况下，后面的数值不会计算，比如a=1,b=2,则：a&gt;2 &amp;&amp; ++a,因为a&gt;2为假，故已经短路，++a是不执行的，a的值不会发生改变。实用举例：(i!=0) &amp;&amp;(j/i&gt;0)</h2>
<h3>switch语句格式：</h3>
<ul>
<li>
<ul>
<li>注意事项：</li>
<li>1）switch语句后面的表达式必须用括号括起来；</li>
<li>2）case后面常量整型或字符型，不能有变量或逗号运算符；</li>
<li>3）各case后常量不能出现相同的数值；</li>
<li>4）case和default只是一个入口标志，他们的顺序可以的颠倒。</li>
<li>5）case和default必须出在switch语句中。</li>
<li>6）执行过程：先计算表达式的数值，然后将该数值和case后常量从上往下匹配（全部比较），如果没有匹配，则寻找default语句。如果匹配成功，且跳出switch语句，则需要增加break语句。</li>
</ul>
</li>
</ul>
<div class="highlight"><pre><span></span>/
 switch(表达式)
 {
     case 常量表达式1：子句1；
     case 常量表达式2：子句2；
     case 常量表达式3：子句3；
     ......
     case 常量表达式n：子句n；
     default:   子句n+1
 }
</pre></div>


<h1>运算符的优先级</h1>
<ol>
<li>()、[]、“.”、指向这四个为1级</li>
<li>单目是2级（++、--、逻辑非！三个）</li>
<li>双目是3-12级（算术&lt;3-4&gt;高于关系&lt;6-7&gt;，关系高于逻辑&lt;11-12&gt;)<ol>
<li>乘除取余为3级，加减为4级，故为3-4级</li>
<li>>、 &gt;=、 &lt;、 &lt;=为6级，==、!=为7级，故为6-7级</li>
<li>逻辑与11级，逻辑或12，故为11-12级</li>
</ol>
</li>
<li>13级是三目（x：y？z）</li>
<li>14级是赋值运算符</li>
<li>15级为逗号运算符</li>
</ol>
    </div><!-- /.entry-content -->

  </article>
</section>
        <section id="extras" class="body">
                <div class="blogroll">
                        <h2>blogroll</h2>
                        <ul>
                            <li><a href="http://getpelican.com/">Pelican</a></li>
                            <li><a href="http://python.org/">Python.org</a></li>
                            <li><a href="http://jinja.pocoo.org/">Jinja2</a></li>
                            <li><a href="#">You can modify those links in your config file</a></li>
                        </ul>
                </div><!-- /.blogroll -->
                <div class="social">
                        <h2>social</h2>
                        <ul>

                            <li><a href="#">You can add links in your config file</a></li>
                            <li><a href="#">Another social link</a></li>
                        </ul>
                </div><!-- /.social -->
        </section><!-- /#extras -->

        <footer id="contentinfo" class="body">
                <p>Powered by <a href="http://www.maxiaoan.com/">Maxiaoan</a></p>
        </footer><!-- /#contentinfo -->

</body>
</html>